package com.jt.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jt.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;
//继承时,必须添加泛型.该泛型必须与表关联
//MP提供了强大的单表CRUD操作. 多表操作自己写
public interface UserMapper extends BaseMapper<User> {

    List<User> findAll();



    @Select("SELECT COUNT(1) FROM user")
    long findTotal();
    //只支持单值传参 封装为map集合
    List<User> findUserList(@Param("start") int start,@Param("size") int size,@Param("query") String query);
    @Update("update user set status=#{status}," +
            "updated=#{updated} where id=#{id}")
    void updateStatus(User user);
    @Delete("delete from user where id=#{id}")
    void deleteUserById(Integer id);

    void saveUser(User user);

    @Select("select * from user where id=#{id}")
    User findUserById(Integer id);

    void updateUser(User user);

    User selectUP(User user);
}
